//导入 createStore 一会用于创建 store
import { createStore } from 'vuex'

import stu from './stu'

//创建一个 store, 一会用于导出, 挂载到入口函数中
const store = createStore({
    state () {
        return {
            num: 10086,
            num2: 10010,
            num3: 12345,
            name: "张三"
        }
    },

    // 当前选项内存储 vuex 内唯一的 修改 state 内数据的方法(只允许出现同步代码，异步需要放在actions)
    mutations: {
        addNum(state, data) {
            state.num++
            // state.num3 = data
        },
        setName(state, data) {
            state.name = data
        }
    },
    actions: {
        asyncAddNum(context, data) {
            setTimeout(() => {
                context.commit("addNum")
            }, 1000);
        }
    },
    getters: {
        getterName(state) {
            return state.name + '_getters'
        }
    },
    modules: {
        stu
    }
})
//导出 store
export default store